flowchart TB
    subgraph External["外部实体"]
        BIDDER[投标单位]
        TENDERER[招标单位]
        ADMIN[系统管理员]
    end
    
    subgraph System["系统处理过程"]
        P1[P1: 用户认证<br/>登录/注册]
        P2[P2: 招标管理<br/>发布/编辑/浏览]
        P3[P3: 投标管理<br/>提交/查看投标]
        P4[P4: 留言管理<br/>发布/查看/删除]
        P5[P5: 用户管理<br/>查看/修改角色]
    end
    
    subgraph Storage["数据存储"]
        D1[("D1: 用户数据<br/>USERS")]
        D2[("D2: 招标数据<br/>TENDERS")]
        D3[("D3: 投标数据<br/>BIDS")]
        D4[("D4: 留言数据<br/>MESSAGES")]
    end
    
    %% 用户认证流程
    BIDDER -->|登录信息| P1
    TENDERER -->|登录信息| P1
    ADMIN -->|登录信息| P1
    P1 -->|用户信息| D1
    D1 -->|验证结果| P1
    P1 -->|登录结果| BIDDER
    P1 -->|登录结果| TENDERER
    P1 -->|登录结果| ADMIN
    
    BIDDER -->|注册信息| P1
    TENDERER -->|注册信息| P1
    P1 -->|新用户数据| D1
    
    %% 招标管理流程
    TENDERER -->|招标信息| P2
    P2 -->|招标数据| D2
    D2 -->|招标列表| P2
    P2 -->|招标列表| BIDDER
    P2 -->|招标列表| TENDERER
    P2 -->|招标列表| ADMIN
    P2 -->|招标详情| BIDDER
    P2 -->|招标详情| TENDERER
    P2 -->|招标详情| ADMIN
    
    D1 -->|创建者信息| P2
    P2 -->|更新数据| D2
    
    %% 投标管理流程
    BIDDER -->|投标信息| P3
    P3 -->|投标数据| D3
    D3 -->|投标列表| P3
    P3 -->|我的投标| BIDDER
    P3 -->|项目投标列表| TENDERER
    P3 -->|所有投标| ADMIN
    
    D1 -->|投标者信息| P3
    D2 -->|招标项目信息| P3
    
    %% 留言管理流程
    BIDDER -->|留言内容| P4
    TENDERER -->|留言内容| P4
    ADMIN -->|留言内容| P4
    P4 -->|留言数据| D4
    D4 -->|留言列表| P4
    P4 -->|留言列表| BIDDER
    P4 -->|留言列表| TENDERER
    P4 -->|留言列表| ADMIN
    
    D1 -->|作者信息| P4
    D2 -->|关联项目信息| P4
    ADMIN -->|删除指令| P4
    P4 -->|删除操作| D4
    
    %% 用户管理流程
    ADMIN -->|管理请求| P5
    P5 -->|用户列表| D1
    D1 -->|用户数据| P5
    P5 -->|用户列表| ADMIN
    P5 -->|更新角色| D1
    
    style P1 fill:#ffe1f5
    style P2 fill:#ffe1e1
    style P3 fill:#e1ffe1
    style P4 fill:#fff5e1
    style P5 fill:#e1e1ff
    style D1 fill:#f1f5f9,stroke:#2563eb,stroke-width:3px
    style D2 fill:#f1f5f9,stroke:#2563eb,stroke-width:3px
    style D3 fill:#f1f5f9,stroke:#2563eb,stroke-width:3px
    style D4 fill:#f1f5f9,stroke:#2563eb,stroke-width:3px
    style BIDDER fill:#e1ffe1
    style TENDERER fill:#ffe1e1
    style ADMIN fill:#e1e1ff

